home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 November: Tool Chest / Dev.CD Nov 98 TC.toast / Tool Chest / Development Kits / MPW etc. / MPW-PR / Interfaces&Libraries / Interfaces / AIncludes / Gestalt.a next >
Encoding:
Text File  |  1998-06-17  |  52.0 KB  |  1,181 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        Gestalt.a
  3. ;
  4. ;    Contains:    Gestalt Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.1 for AltiVec
  8. ;
  9. ;    Copyright:    © 1988-1998 by Apple Computer, Inc.  All rights reserved
  10. ;
  11. ;    Bugs?:        Please include the the file and version information (from above) with
  12. ;                the problem description.  Developers belonging to one of the Apple
  13. ;                developer programs can submit bug reports to:
  14. ;
  15. ;                    devsupport@apple.com
  16. ;
  17. ;
  18.     IF &TYPE('__GESTALT__') = 'UNDEFINED' THEN
  19. __GESTALT__ SET 1
  20.  
  21.     IF &TYPE('__MACTYPES__') = 'UNDEFINED' THEN
  22.     include 'MacTypes.a'
  23.     ENDIF
  24.     IF &TYPE('__MIXEDMODE__') = 'UNDEFINED' THEN
  25.     include 'MixedMode.a'
  26.     ENDIF
  27.  
  28.  
  29.  
  30.  
  31.  
  32.  
  33. ;
  34. ; pascal OSErr Gestalt(OSType selector, long *response)
  35. ;
  36.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  37.         _Gestalt:    OPWORD    $A1AD
  38.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  39.         IMPORT_CFM_FUNCTION Gestalt
  40.     ENDIF
  41.  
  42. ;
  43. ; pascal OSErr ReplaceGestalt(OSType selector, SelectorFunctionUPP gestaltFunction, SelectorFunctionUPP *oldGestaltFunction)
  44. ;
  45.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  46.         _ReplaceGestalt:    OPWORD    $A5AD
  47.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  48.         IMPORT_CFM_FUNCTION ReplaceGestalt
  49.     ENDIF
  50.  
  51. ;
  52. ; pascal OSErr NewGestalt(OSType selector, SelectorFunctionUPP gestaltFunction)
  53. ;
  54.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  55.         ; parameters:
  56.         ;    selector        => D0
  57.         ;    gestaltFunction => A0
  58.         ; returns:
  59.         ;    OSErr           <= D0
  60.         _NewGestalt:    OPWORD    $A3AD
  61.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  62.         IMPORT_CFM_FUNCTION NewGestalt
  63.     ENDIF
  64.  
  65.  
  66. ;      These functions (and SetGestaltValue) are built into System 7.5,
  67. ;      but not on earlier systems
  68.  
  69.  
  70.  
  71. ;
  72. ; pascal OSErr NewGestaltValue(OSType selector, long newValue)
  73. ;
  74.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  75.         Macro
  76.         _NewGestaltValue
  77.             move.w              #$0401,D0
  78.             dc.w                $ABF1
  79.         EndM
  80.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  81.         IMPORT_CFM_FUNCTION NewGestaltValue
  82.     ENDIF
  83.  
  84. ;
  85. ; pascal OSErr ReplaceGestaltValue(OSType selector, long replacementValue)
  86. ;
  87.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  88.         Macro
  89.         _ReplaceGestaltValue
  90.             move.w              #$0402,D0
  91.             dc.w                $ABF1
  92.         EndM
  93.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  94.         IMPORT_CFM_FUNCTION ReplaceGestaltValue
  95.     ENDIF
  96.  
  97. ;
  98. ; pascal OSErr SetGestaltValue(OSType selector, long newValue)
  99. ;
  100.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  101.         Macro
  102.         _SetGestaltValue
  103.             move.w              #$0404,D0
  104.             dc.w                $ABF1
  105.         EndM
  106.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  107.         IMPORT_CFM_FUNCTION SetGestaltValue
  108.     ENDIF
  109.  
  110. ;
  111. ; pascal OSErr DeleteGestaltValue(OSType selector)
  112. ;
  113.     IF TARGET_OS_MAC ** TARGET_CPU_68K ** ¬ TARGET_RT_MAC_CFM THEN
  114.         Macro
  115.         _DeleteGestaltValue
  116.             move.w              #$0203,D0
  117.             dc.w                $ABF1
  118.         EndM
  119.     ELSEIF TARGET_OS_MAC ** TARGET_RT_MAC_CFM THEN
  120.         IMPORT_CFM_FUNCTION DeleteGestaltValue
  121.     ENDIF
  122.  
  123.  
  124.  
  125. ;  Environment Selectors 
  126.  
  127. gestaltAddressingModeAttr        EQU        'addr'                ; addressing mode attributes 
  128. gestalt32BitAddressing            EQU        0                    ; using 32-bit addressing mode 
  129. gestalt32BitSysZone                EQU        1                    ; 32-bit compatible system zone 
  130. gestalt32BitCapable                EQU        2                    ; Machine is 32-bit capable 
  131.  
  132. gestaltAFPClient                EQU        'afps'
  133. gestaltAFPClientVersionMask        EQU        $0000FFFF            ; low word of long is the 
  134.                                                             ; client version 0x0001 -> 0x0007
  135. gestaltAFPClient3_5                EQU        $0001
  136. gestaltAFPClient3_6                EQU        $0002
  137. gestaltAFPClient3_6_1            EQU        $0003
  138. gestaltAFPClient3_6_2            EQU        $0004
  139. gestaltAFPClient3_6_3            EQU        $0005                ; including 3.6.4, 3.6.5
  140. gestaltAFPClient3_7                EQU        $0006                ; including 3.7.1
  141. gestaltAFPClient3_7_2            EQU        $0007                ; including 3.7.3
  142. gestaltAFPClientAttributeMask    EQU        $FFFF0000            ; high word of long is a 
  143.                                                             ; set of attribute bits
  144. gestaltAFPClientCfgRsrc            EQU        16                    ; Client uses config resources
  145. gestaltAFPClientSupportsIP        EQU        29                    ; Client supports AFP over TCP/IP
  146. gestaltAFPClientVMUI            EQU        30                    ; Client can put up UI from the PBVolMount trap
  147. gestaltAFPClientMultiReq        EQU        31                    ; Client supports multiple outstanding requests
  148.  
  149. gestaltAliasMgrAttr                EQU        'alis'                ; Alias Mgr Attributes 
  150. gestaltAliasMgrPresent            EQU        0                    ; True if the Alias Mgr is present 
  151. gestaltAliasMgrSupportsRemoteAppletalk EQU 1                ; True if the Alias Mgr knows about Remote Appletalk 
  152. gestaltAliasMgrSupportsAOCEKeychain EQU    2                    ; True if the Alias Mgr knows about the AOCE Keychain 
  153. gestaltAliasMgrResolveAliasFileWithMountOptions EQU 3        ; True if the Alias Mgr implements gestaltAliasMgrResolveAliasFileWithMountOptions() and IsAliasFile() 
  154.  
  155. gestaltArbitorAttr                EQU        'arb '
  156. gestaltSerialArbitrationExists    EQU        0                    ; this bit if the serial port arbitrator exists
  157.  
  158. gestaltAppleScriptVersion        EQU        'ascv'                ; AppleScript version
  159.  
  160. gestaltAppleScriptAttr            EQU        'ascr'                ; AppleScript attributes
  161. gestaltAppleScriptPresent        EQU        0
  162. gestaltAppleScriptPowerPCSupport EQU    1
  163.  
  164. gestaltATAAttr                    EQU        'ata '                ; ATA is the driver to support IDE hard disks 
  165. gestaltATAPresent                EQU        0                    ; if set, ATA Manager is present 
  166.  
  167. gestaltATalkVersion                EQU        'atkv'                ; Detailed AppleTalk version; see comment above for format 
  168.  
  169. gestaltAppleTalkVersion            EQU        'atlk'                ; appletalk version 
  170. ;    FORMAT OF gestaltATalkVersion RESPONSE
  171. ;    --------------------------------------
  172. ;    The version is stored in the high three bytes of the response value.  Let us number
  173. ;    the bytes in the response value from 0 to 3, where 0 is the least-significant byte.
  174. ;
  175. ;        Byte#:       3 2 1 0
  176. ;        Value:    0xMMNNRR00
  177. ;
  178. ;    Byte 3 (MM) contains the major revision number, byte 2 (NN) contains the minor
  179. ;    revision number, and byte 1 (RR) contains a constant that represents the release
  180. ;    stage.  Byte 0 always contains 0x00.  The constants for the release stages are:
  181. ;
  182. ;        development = 0x20
  183. ;        alpha        = 0x40
  184. ;        beta        = 0x60
  185. ;        final        = 0x80
  186. ;        release        = 0x80
  187. ;
  188. ;    For example, if you call Gestalt with the 'atkv' selector when AppleTalk version 57
  189. ;    is loaded, you receive the long integer response value 0x39008000.
  190. ;
  191.  
  192.  
  193. gestaltAUXVersion                EQU        'a/ux'                ; a/ux version, if present 
  194.  
  195. gestaltBusClkSpeed                EQU        'bclk'                ; main I/O bus clock speed in hertz 
  196.  
  197. gestaltCloseViewAttr            EQU        'BSDa'                ; CloseView attributes 
  198. gestaltCloseViewEnabled            EQU        0                    ; Closeview enabled (dynamic bit - returns current state) 
  199. gestaltCloseViewDisplayMgrFriendly EQU    1                    ; Closeview compatible with Display Manager (FUTURE) 
  200.  
  201. gestaltCFMAttr                    EQU        'cfrg'                ; returns information about the Code Fragment Manager 
  202. gestaltCFMPresent                EQU        0                    ; true if the Code Fragment Manager is present 
  203.  
  204. gestaltCollectionMgrVersion        EQU        'cltn'                ; Collection Manager version 
  205.  
  206. gestaltColorMatchingAttr        EQU        'cmta'                ; ColorSync attributes 
  207. gestaltHighLevelMatching        EQU        0
  208. gestaltColorMatchingLibLoaded    EQU        1
  209.  
  210. gestaltColorMatchingVersion        EQU        'cmtc'
  211. gestaltColorSync10                EQU        $0100                ; 0x0100 & 0x0110 _Gestalt versions for 1.0-1.0.3 product 
  212. gestaltColorSync11                EQU        $0110                ;   0x0100 == low-level matching only 
  213. gestaltColorSync104                EQU        $0104                ; Real version, by popular demand 
  214. gestaltColorSync105                EQU        $0105
  215. gestaltColorSync20                EQU        $0200                ; ColorSync 2.0 
  216. gestaltColorSync21                EQU        $0210
  217. gestaltColorSync211                EQU        $0211
  218. gestaltColorSync212                EQU        $0212
  219. gestaltColorSync213                EQU        $0213
  220. gestaltColorSync25                EQU        $0250
  221.  
  222. gestaltConnMgrAttr                EQU        'conn'                ; connection mgr attributes    
  223. gestaltConnMgrPresent            EQU        0
  224. gestaltConnMgrCMSearchFix        EQU        1                    ; Fix to CMAddSearch?     
  225. gestaltConnMgrErrorString        EQU        2                    ; has CMGetErrorString() 
  226. gestaltConnMgrMultiAsyncIO        EQU        3                    ; CMNewIOPB, CMDisposeIOPB, CMPBRead, CMPBWrite, CMPBIOKill 
  227.  
  228. gestaltColorPickerVersion        EQU        'cpkr'                ; returns version of ColorPicker 
  229. gestaltColorPicker                EQU        'cpkr'                ; gestaltColorPicker is old name for gestaltColorPickerVersion 
  230.  
  231. gestaltComponentMgr                EQU        'cpnt'                ; Component Mgr version 
  232. ;    The gestaltNativeCPUtype ('cput') selector can be used to determine the
  233. ;    native CPU type for all Macs running System 7.5 or later.
  234. ;
  235. ;    The 'cput' selector is not available when running System 7.0 (or earlier)
  236. ;    on most 68K machines.  If 'cput' is not available, then the 'proc' selector
  237. ;    should be used to determine the processor type.
  238. ;
  239. ;    An application should always try the 'cput' selector first.  This is because,
  240. ;    on PowerPC machines, the 'proc' selector will reflect the CPU type of the
  241. ;    emulator's "virtual processor" rather than the native CPU type.
  242. ;
  243. ;    The values specified below are accurate.  Prior versions of the Gestalt
  244. ;    interface file contained values that were off by one.
  245. ;
  246. ;    The Quadra 840AV and the Quadra 660AV contain a bug in the ROM code that
  247. ;    causes the 'cput' selector to respond with the value 5.  This behavior
  248. ;    occurs only when running System 7.1.  System 7.5 fixes the bug by replacing
  249. ;    the faulty 'cput' selector function with the correct one.
  250. ;
  251. ;    The gestaltNativeCPUfamily ('cpuf') selector can be used to determine the
  252. ;    general family the native CPU is in. This can be helpful for determing how
  253. ;    blitters and things should be written. In general, it is smarter to use this
  254. ;    selector (when available) than gestaltNativeCPUtype since newer processors
  255. ;    in the same family can be handled without revising your code.
  256. ;
  257. ;    gestaltNativeCPUfamily uses the same results as gestaltNativeCPUtype, but
  258. ;    will only return certain CPU values.
  259. ;
  260.  
  261.  
  262. gestaltNativeCPUtype            EQU        'cput'                ; Native CPU type                                       
  263. gestaltNativeCPUfamily            EQU        'cpuf'                ; Native CPU family                                  
  264. gestaltCPU68000                    EQU        0                    ; Various 68k CPUs...     
  265. gestaltCPU68010                    EQU        1
  266. gestaltCPU68020                    EQU        2
  267. gestaltCPU68030                    EQU        3
  268. gestaltCPU68040                    EQU        4
  269. gestaltCPU601                    EQU        $0101                ; IBM 601                                                 
  270. gestaltCPU603                    EQU        $0103
  271. gestaltCPU604                    EQU        $0104
  272. gestaltCPU603e                    EQU        $0106
  273. gestaltCPU603ev                    EQU        $0107
  274. gestaltCPU750                    EQU        $0108                ; Also 740 - "G3" 
  275. gestaltCPU604e                    EQU        $0109
  276. gestaltCPU604ev                    EQU        $010A                ; Mach 5, 250Mhz and up 
  277.  
  278. gestaltCRMAttr                    EQU        'crm '                ; comm resource mgr attributes 
  279. gestaltCRMPresent                EQU        0
  280. gestaltCRMPersistentFix            EQU        1                    ; fix for persistent tools 
  281. gestaltCRMToolRsrcCalls            EQU        2                    ; has CRMGetToolResource/ReleaseToolResource 
  282.  
  283. gestaltControlStripVersion        EQU        'csvr'                ; Control Strip version (was 'sdvr') 
  284.  
  285. gestaltCTBVersion                EQU        'ctbv'                ; CommToolbox version 
  286.  
  287. gestaltDBAccessMgrAttr            EQU        'dbac'                ; Database Access Mgr attributes 
  288. gestaltDBAccessMgrPresent        EQU        0                    ; True if Database Access Mgr present 
  289.  
  290. gestaltSDPFindVersion            EQU        'dfnd'                ; OCE Standard Directory Panel
  291.  
  292. gestaltDictionaryMgrAttr        EQU        'dict'                ; Dictionary Manager attributes 
  293. gestaltDictionaryMgrPresent        EQU        0                    ; Dictionary Manager attributes 
  294.  
  295. gestaltDITLExtAttr                EQU        'ditl'                ; AppenDITL, etc. calls from CTB 
  296. gestaltDITLExtPresent            EQU        0                    ; True if calls are present 
  297. gestaltDITLExtSupportsIctb        EQU        1                    ; True if AppendDITL, ShortenDITL support 'ictb's 
  298.  
  299. gestaltDesktopPicturesAttr        EQU        'dkpx'                ; Desktop Pictures attributes 
  300. gestaltDesktopPicturesInstalled    EQU        0                    ; True if control panel is installed 
  301. gestaltDesktopPicturesDisplayed    EQU        1                    ; True if a picture is currently displayed 
  302.  
  303. gestaltDisplayMgrVers            EQU        'dplv'                ; Display Manager version 
  304.  
  305. gestaltDisplayMgrAttr            EQU        'dply'                ; Display Manager attributes 
  306. gestaltDisplayMgrPresent        EQU        0                    ; True if Display Mgr is present 
  307. gestaltDisplayMgrCanSwitchMirrored EQU    2                    ; True if Display Mgr can switch modes on mirrored displays 
  308. gestaltDisplayMgrSetDepthNotifies EQU    3                    ; True SetDepth generates displays mgr notification 
  309. gestaltDisplayMgrCanConfirm        EQU        4                    ; True Display Manager supports DMConfirmConfiguration 
  310. gestaltDisplayMgrColorSyncAware    EQU        5                    ; True if Display Manager supports profiles for displays 
  311.  
  312. gestaltDragMgrAttr                EQU        'drag'                ; Drag Manager attributes 
  313. gestaltDragMgrPresent            EQU        0                    ; Drag Manager is present 
  314. gestaltDragMgrFloatingWind        EQU        1                    ; Drag Manager supports floating windows 
  315. gestaltPPCDragLibPresent        EQU        2                    ; Drag Manager PPC DragLib is present 
  316. gestaltDragMgrHasImageSupport    EQU        3                    ; Drag Manager allows SetDragImage call 
  317. gestaltCanStartDragInFloatWindow EQU    4                    ; Drag Manager supports starting a drag in a floating window 
  318.  
  319. gestaltDigitalSignatureVersion    EQU        'dsig'                ; returns Digital Signature Toolbox version in low-order word
  320.  
  321. gestaltEasyAccessAttr            EQU        'easy'                ; Easy Access attributes 
  322. gestaltEasyAccessOff            EQU        0                    ; if Easy Access present, but off (no icon) 
  323. gestaltEasyAccessOn                EQU        1                    ; if Easy Access "On" 
  324. gestaltEasyAccessSticky            EQU        2                    ; if Easy Access "Sticky" 
  325. gestaltEasyAccessLocked            EQU        3                    ; if Easy Access "Locked" 
  326.  
  327. gestaltEditionMgrAttr            EQU        'edtn'                ; Edition Mgr attributes 
  328. gestaltEditionMgrPresent        EQU        0                    ; True if Edition Mgr present 
  329. gestaltEditionMgrTranslationAware EQU    1                    ; True if edition manager is translation manager aware 
  330.  
  331. gestaltAppleEventsAttr            EQU        'evnt'                ; Apple Events attributes 
  332. gestaltAppleEventsPresent        EQU        0                    ; True if Apple Events present 
  333. gestaltScriptingSupport            EQU        1
  334. gestaltOSLInSystem                EQU        2                    ; OSL is in system so don’t use the one linked in to app 
  335.  
  336. gestaltExtensionTableVersion    EQU        'etbl'                ; ExtensionTable version 
  337.  
  338. gestaltFloppyAttr                EQU        'flpy'                ; Floppy disk drive/driver attributes 
  339. gestaltFloppyIsMFMOnly            EQU        0                    ; Floppy driver only supports MFM disk formats 
  340. gestaltFloppyIsManualEject        EQU        1                    ; Floppy drive, driver, and file system are in manual-eject mode 
  341. gestaltFloppyUsesDiskInPlace    EQU        2                    ; Floppy drive must have special DISK-IN-PLACE output; standard DISK-CHANGED not used 
  342.  
  343. gestaltFinderAttr                EQU        'fndr'                ; Finder attributes 
  344. gestaltFinderDropEvent            EQU        0                    ; Finder recognizes drop event 
  345. gestaltFinderMagicPlacement        EQU        1                    ; Finder supports magic icon placement 
  346. gestaltFinderCallsAEProcess        EQU        2                    ; Finder calls AEProcessAppleEvent 
  347. gestaltOSLCompliantFinder        EQU        3                    ; Finder is scriptable and recordable 
  348. gestaltFinderSupports4GBVolumes    EQU        4                    ; Finder correctly handles 4GB volumes 
  349. gestaltFinderHasClippings        EQU        6                    ; Finder supports Drag Manager clipping files 
  350. gestaltFinderFullDragManagerSupport EQU    7                    ; Finder accepts 'hfs ' flavors properly 
  351. gestaltFinderFloppyRootComments    EQU        8                    ; in MacOS 8 and later, will be set if Finder ever supports comments on Floppy icons 
  352. gestaltFinderLargeAndNotSavedFlavorsOK EQU 9                ; in MacOS 8 and later, this bit is set if drags with >1024-byte flavors and flavorNotSaved flavors work reliably 
  353. gestaltFinderUsesExtensibleFolderManager EQU 10                ; Finder uses Extensible Folder Manager (for example, for Magic Routing) 
  354.  
  355. gestaltFindFolderAttr            EQU        'fold'                ; Folder Mgr attributes 
  356. gestaltFindFolderPresent        EQU        0                    ; True if Folder Mgr present 
  357. gestaltFolderDescSupport        EQU        1                    ; Tru if Folder Mgr has FolderDesc calls 
  358.  
  359.  
  360. gestaltFontMgrAttr                EQU        'font'                ; Font Mgr attributes 
  361. gestaltOutlineFonts                EQU        0                    ; True if Outline Fonts supported 
  362.  
  363. gestaltFPUType                    EQU        'fpu '                ; fpu type 
  364. gestaltNoFPU                    EQU        0                    ; no FPU 
  365. gestalt68881                    EQU        1                    ; 68881 FPU 
  366. gestalt68882                    EQU        2                    ; 68882 FPU 
  367. gestalt68040FPU                    EQU        3                    ; 68040 built-in FPU 
  368.  
  369. gestaltFSAttr                    EQU        'fs  '                ; file system attributes 
  370. gestaltFullExtFSDispatching        EQU        0                    ; has really cool new HFSDispatch dispatcher 
  371. gestaltHasFSSpecCalls            EQU        1                    ; has FSSpec calls 
  372. gestaltHasFileSystemManager        EQU        2                    ; has a file system manager 
  373. gestaltFSMDoesDynamicLoad        EQU        3                    ; file system manager supports dynamic loading 
  374. gestaltFSSupports4GBVols        EQU        4                    ; file system supports 4 gigabyte volumes 
  375. gestaltFSSupports2TBVols        EQU        5                    ; file system supports 2 terabyte volumes 
  376. gestaltHasExtendedDiskInit        EQU        6                    ; has extended Disk Initialization calls 
  377. gestaltDTMgrSupportsFSM            EQU        7                    ; Desktop Manager support FSM-based foreign file systems 
  378. gestaltFSNoMFSVols                EQU        8                    ; file system doesn't supports MFS volumes 
  379. gestaltFSSupportsHFSPlusVols    EQU        9                    ; file system supports HFS Plus volumes 
  380. gestaltFSIncompatibleDFA82        EQU        10                    ; VCB and FCB structures changed; DFA 8.2 is incompatible 
  381.  
  382. gestaltAdminFeaturesFlagsAttr    EQU        'fred'                ; a set of admin flags, mostly useful internally. 
  383. gestaltFinderUsesSpecialOpenFoldersFile EQU 0                ; the Finder uses a special file to store the list of open folders 
  384.  
  385. gestaltFSMVersion                EQU        'fsm '                ; returns version of HFS External File Systems Manager (FSM) 
  386.  
  387. gestaltFXfrMgrAttr                EQU        'fxfr'                ; file transfer manager attributes 
  388. gestaltFXfrMgrPresent            EQU        0
  389. gestaltFXfrMgrMultiFile            EQU        1                    ; supports FTSend and FTReceive 
  390. gestaltFXfrMgrErrorString        EQU        2                    ; supports FTGetErrorString 
  391. gestaltFXfrMgrAsync                EQU        3                    ;supports FTSendAsync, FTReceiveAsync, FTCompletionAsync
  392.  
  393. gestaltGraphicsAttr                EQU        'gfxa'                ; Quickdraw GX attributes selector 
  394. gestaltGraphicsIsDebugging        EQU        $00000001
  395. gestaltGraphicsIsLoaded            EQU        $00000002
  396. gestaltGraphicsIsPowerPC        EQU        $00000004
  397.  
  398. gestaltGraphicsVersion            EQU        'grfx'                ; Quickdraw GX version selector 
  399. gestaltCurrentGraphicsVersion    EQU        $00010200            ; the version described in this set of headers 
  400.  
  401. gestaltHardwareAttr                EQU        'hdwr'                ; hardware attributes 
  402. gestaltHasVIA1                    EQU        0                    ; VIA1 exists 
  403. gestaltHasVIA2                    EQU        1                    ; VIA2 exists 
  404. gestaltHasASC                    EQU        3                    ; Apple Sound Chip exists 
  405. gestaltHasSCC                    EQU        4                    ; SCC exists 
  406. gestaltHasSCSI                    EQU        7                    ; SCSI exists 
  407. gestaltHasSoftPowerOff            EQU        19                    ; Capable of software power off 
  408. gestaltHasSCSI961                EQU        21                    ; 53C96 SCSI controller on internal bus 
  409. gestaltHasSCSI962                EQU        22                    ; 53C96 SCSI controller on external bus 
  410. gestaltHasUniversalROM            EQU        24                    ; Do we have a Universal ROM? 
  411. gestaltHasEnhancedLtalk            EQU        30                    ; Do we have Enhanced LocalTalk? 
  412.  
  413. gestaltHelpMgrAttr                EQU        'help'                ; Help Mgr Attributes 
  414. gestaltHelpMgrPresent            EQU        0                    ; true if help mgr is present 
  415. gestaltHelpMgrExtensions        EQU        1                    ; true if help mgr extensions are installed 
  416. gestaltAppleGuideIsDebug        EQU        30
  417. gestaltAppleGuidePresent        EQU        31                    ; true if AppleGuide is installed 
  418.  
  419. gestaltHardwareVendorCode        EQU        'hrad'                ; Returns hardware vendor information 
  420. gestaltHardwareVendorApple        EQU        'Appl'                ; Hardware built by Apple 
  421.  
  422. gestaltCompressionMgr            EQU        'icmp'                ; returns version of the Image Compression Manager 
  423.  
  424. gestaltIconUtilitiesAttr        EQU        'icon'                ; Icon Utilities attributes  (Note: available in System 7.0, despite gestalt) 
  425. gestaltIconUtilitiesPresent        EQU        0                    ; true if icon utilities are present 
  426.  
  427. gestaltInternalDisplay            EQU        'idsp'                ; slot number of internal display location 
  428. ;    To obtain information about the connected keyboard(s), one should
  429. ;    use the ADB Manager API.  See Technical Note OV16 for details.
  430. ;
  431.  
  432.  
  433. gestaltKeyboardType                EQU        'kbd '                ; keyboard type 
  434. gestaltMacKbd                    EQU        1
  435. gestaltMacAndPad                EQU        2
  436. gestaltMacPlusKbd                EQU        3
  437. gestaltExtADBKbd                EQU        4
  438. gestaltStdADBKbd                EQU        5
  439. gestaltPrtblADBKbd                EQU        6
  440. gestaltPrtblISOKbd                EQU        7
  441. gestaltStdISOADBKbd                EQU        8
  442. gestaltExtISOADBKbd                EQU        9
  443. gestaltADBKbdII                    EQU        10
  444. gestaltADBISOKbdII                EQU        11
  445. gestaltPwrBookADBKbd            EQU        12
  446. gestaltPwrBookISOADBKbd            EQU        13
  447. gestaltAppleAdjustKeypad        EQU        14
  448. gestaltAppleAdjustADBKbd        EQU        15
  449. gestaltAppleAdjustISOKbd        EQU        16
  450. gestaltJapanAdjustADBKbd        EQU        17                    ; Japan Adjustable Keyboard 
  451. gestaltPwrBkExtISOKbd            EQU        20                    ; PowerBook Extended International Keyboard with function keys 
  452. gestaltPwrBkExtJISKbd            EQU        21                    ; PowerBook Extended Japanese Keyboard with function keys         
  453. gestaltPwrBkExtADBKbd            EQU        24                    ; PowerBook Extended Domestic Keyboard with function keys         
  454. gestaltPS2Keyboard                EQU        27                    ; PS2 keyboard 
  455. gestaltPwrBkSubDomKbd            EQU        28                    ; PowerBook Subnote Domestic Keyboard with function keys w/  inverted T     
  456. gestaltPwrBkSubISOKbd            EQU        29                    ; PowerBook Subnote International Keyboard with function keys w/  inverted T     
  457. gestaltPwrBkSubJISKbd            EQU        30                    ; PowerBook Subnote Japanese Keyboard with function keys w/ inverted T         
  458. gestaltPwrBkEKDomKbd            EQU        195                    ; (0xC3) PowerBook Domestic Keyboard with Embedded Keypad, function keys & inverted T     
  459. gestaltPwrBkEKISOKbd            EQU        196                    ; (0xC4) PowerBook International Keyboard with Embedded Keypad, function keys & inverted T     
  460. gestaltPwrBkEKJISKbd            EQU        197                    ; (0xC5) PowerBook Japanese Keyboard with Embedded Keypad, function keys & inverted T         
  461. gestaltUSBCosmoANSIKbd            EQU        198                    ; (0xC6) Cosmo USB Domestic (ANSI) Keyboard 
  462. gestaltUSBCosmoISOKbd            EQU        199                    ; (0xC7) Cosmo USB International (ISO) Keyboard 
  463. gestaltUSBCosmoJISKbd            EQU        200                    ; (0xC8) Cosmo USB Japanese (JIS) Keyboard 
  464.  
  465. gestaltLowMemorySize            EQU        'lmem'                ; size of low memory area 
  466.  
  467. gestaltLogicalRAMSize            EQU        'lram'                ; logical ram size 
  468. ;    MACHINE TYPE CONSTANTS NAMING CONVENTION
  469. ;
  470. ;        All future machine type constant names take the following form:
  471. ;
  472. ;            gestalt<lineName><modelNumber>
  473. ;
  474. ;    Line Names
  475. ;
  476. ;        The following table contains the lines currently produced by Apple and the
  477. ;        lineName substrings associated with them:
  478. ;
  479. ;            Line                        lineName
  480. ;            -------------------------    ------------
  481. ;            Macintosh LC                "MacLC"
  482. ;            Macintosh Performa            "Performa"
  483. ;            Macintosh PowerBook            "PowerBook"
  484. ;            Macintosh PowerBook Duo        "PowerBookDuo"
  485. ;            Power Macintosh                "PowerMac"
  486. ;            Apple Workgroup Server        "AWS"
  487. ;
  488. ;        The following table contains lineNames for some discontinued lines:
  489. ;
  490. ;            Line                        lineName
  491. ;            -------------------------    ------------
  492. ;            Macintosh Quadra            "MacQuadra" (preferred)
  493. ;                                        "Quadra" (also used, but not preferred)
  494. ;            Macintosh Centris            "MacCentris"
  495. ;
  496. ;    Model Numbers
  497. ;
  498. ;        The modelNumber is a string representing the specific model of the machine
  499. ;        within its particular line.  For example, for the Power Macintosh 8100/80,
  500. ;        the modelNumber is "8100".
  501. ;
  502. ;        Some Performa & LC model numbers contain variations in the rightmost 1 or 2
  503. ;        digits to indicate different RAM and Hard Disk configurations.  A single
  504. ;        machine type is assigned for all variations of a specific model number.  In
  505. ;        this case, the modelNumber string consists of the constant leftmost part
  506. ;        of the model number with 0s for the variant digits.  For example, the
  507. ;        Performa 6115 and Performa 6116 are both return the same machine type
  508. ;        constant:  gestaltPerforma6100.
  509. ;
  510. ;
  511. ;    OLD NAMING CONVENTIONS
  512. ;
  513. ;    The "Underscore Speed" suffix
  514. ;
  515. ;        In the past, Apple differentiated between machines that had the same model
  516. ;        number but different speeds.  For example, the Power Macintosh 8100/80 and
  517. ;        Power Macintosh 8100/100 return different machine type constants.  This is
  518. ;        why some existing machine type constant names take the form:
  519. ;
  520. ;            gestalt<lineName><modelNumber>_<speed>
  521. ;
  522. ;        e.g.
  523. ;
  524. ;            gestaltPowerMac8100_110
  525. ;            gestaltPowerMac7100_80
  526. ;            gestaltPowerMac7100_66
  527. ;
  528. ;        It is no longer necessary to use the "underscore speed" suffix.  Starting with
  529. ;        the Power Surge machines (Power Macintosh 7200, 7500, 8500 and 9500), speed is
  530. ;        no longer used to differentiate between machine types.  This is why a Power
  531. ;        Macintosh 7200/75 and a Power Macintosh 7200/90 return the same machine type
  532. ;        constant:  gestaltPowerMac7200.
  533. ;
  534. ;    The "Screen Type" suffix
  535. ;
  536. ;        All PowerBook models prior to the PowerBook 190, and all PowerBook Duo models
  537. ;        before the PowerBook Duo 2300 take the form:
  538. ;
  539. ;            gestalt<lineName><modelNumber><screenType>
  540. ;
  541. ;        Where <screenType> is "c" or the empty string.
  542. ;
  543. ;        e.g.
  544. ;
  545. ;            gestaltPowerBook100
  546. ;            gestaltPowerBookDuo280
  547. ;            gestaltPowerBookDuo280c
  548. ;            gestaltPowerBook180
  549. ;            gestaltPowerBook180c
  550. ;
  551. ;        Starting with the PowerBook 190 series and the PowerBook Duo 2300 series, machine
  552. ;        types are no longer differentiated based on screen type.  This is why a PowerBook
  553. ;        5300cs/100 and a PowerBook 5300c/100 both return the same machine type constant:
  554. ;        gestaltPowerBook5300.
  555. ;
  556. ;        Macintosh LC 630                gestaltMacLC630
  557. ;        Macintosh Performa 6200            gestaltPerforma6200
  558. ;        Macintosh Quadra 700            gestaltQuadra700
  559. ;        Macintosh PowerBook 5300        gestaltPowerBook5300
  560. ;        Macintosh PowerBook Duo 2300    gestaltPowerBookDuo2300
  561. ;        Power Macintosh 8500            gestaltPowerMac8500
  562. ;
  563.  
  564.  
  565.  
  566. gestaltMachineType                EQU        'mach'                ; machine type 
  567. gestaltClassic                    EQU        1
  568. gestaltMacXL                    EQU        2
  569. gestaltMac512KE                    EQU        3
  570. gestaltMacPlus                    EQU        4
  571. gestaltMacSE                    EQU        5
  572. gestaltMacII                    EQU        6
  573. gestaltMacIIx                    EQU        7
  574. gestaltMacIIcx                    EQU        8
  575. gestaltMacSE030                    EQU        9
  576. gestaltPortable                    EQU        10
  577. gestaltMacIIci                    EQU        11
  578. gestaltPowerMac8100_120            EQU        12
  579. gestaltMacIIfx                    EQU        13
  580. gestaltMacClassic                EQU        17
  581. gestaltMacIIsi                    EQU        18
  582. gestaltMacLC                    EQU        19
  583. gestaltMacQuadra900                EQU        20
  584. gestaltPowerBook170                EQU        21
  585. gestaltMacQuadra700                EQU        22
  586. gestaltClassicII                EQU        23
  587. gestaltPowerBook100                EQU        24
  588. gestaltPowerBook140                EQU        25
  589. gestaltMacQuadra950                EQU        26
  590. gestaltMacLCIII                    EQU        27
  591. gestaltPerforma450                EQU        27
  592. gestaltPowerBookDuo210            EQU        29
  593. gestaltMacCentris650            EQU        30
  594. gestaltPowerBookDuo230            EQU        32
  595. gestaltPowerBook180                EQU        33
  596. gestaltPowerBook160                EQU        34
  597. gestaltMacQuadra800                EQU        35
  598. gestaltMacQuadra650                EQU        36
  599. gestaltMacLCII                    EQU        37
  600. gestaltPowerBookDuo250            EQU        38
  601. gestaltAWS9150_80                EQU        39
  602. gestaltPowerMac8100_110            EQU        40
  603. gestaltAWS8150_110                EQU        40
  604. gestaltPowerMac5200                EQU        41
  605. gestaltPowerMac5260                EQU        41
  606. gestaltPerforma5300                EQU        41
  607. gestaltPowerMac6200                EQU        42
  608. gestaltPerforma6300                EQU        42
  609. gestaltMacIIvi                    EQU        44
  610. gestaltMacIIvm                    EQU        45
  611. gestaltPerforma600                EQU        45
  612. gestaltPowerMac7100_80            EQU        47
  613. gestaltMacIIvx                    EQU        48
  614. gestaltMacColorClassic            EQU        49
  615. gestaltPerforma250                EQU        49
  616. gestaltPowerBook165c            EQU        50
  617. gestaltMacCentris610            EQU        52
  618. gestaltMacQuadra610                EQU        53
  619. gestaltPowerBook145                EQU        54
  620. gestaltPowerMac8100_100            EQU        55
  621. gestaltMacLC520                    EQU        56
  622. gestaltAWS9150_120                EQU        57
  623. gestaltPowerMac6400                EQU        58
  624. gestaltPerforma6400                EQU        58
  625. gestaltPerforma6360                EQU        58
  626. gestaltMacCentris660AV            EQU        60
  627. gestaltMacQuadra660AV            EQU        60
  628. gestaltPerforma46x                EQU        62
  629. gestaltPowerMac8100_80            EQU        65
  630. gestaltAWS8150_80                EQU        65
  631. gestaltPowerMac9500                EQU        67
  632. gestaltPowerMac9600                EQU        67
  633. gestaltPowerMac7500                EQU        68
  634. gestaltPowerMac7600                EQU        68
  635. gestaltPowerMac8500                EQU        69
  636. gestaltPowerMac8600                EQU        69
  637. gestaltAWS8550                    EQU        68
  638. gestaltPowerBook180c            EQU        71
  639. gestaltPowerBook520                EQU        72
  640. gestaltPowerBook520c            EQU        72
  641. gestaltPowerBook540                EQU        72
  642. gestaltPowerBook540c            EQU        72
  643. gestaltPowerMac5400                EQU        74
  644. gestaltPowerMac6100_60            EQU        75
  645. gestaltAWS6150_60                EQU        75
  646. gestaltPowerBookDuo270c            EQU        77
  647. gestaltMacQuadra840AV            EQU        78
  648. gestaltPerforma550                EQU        80
  649. gestaltPowerBook165                EQU        84
  650. gestaltPowerBook190                EQU        85
  651. gestaltMacTV                    EQU        88
  652. gestaltMacLC475                    EQU        89
  653. gestaltPerforma47x                EQU        89
  654. gestaltMacLC575                    EQU        92
  655. gestaltMacQuadra605                EQU        94
  656. gestaltMacQuadra630                EQU        98
  657. gestaltMacLC580                    EQU        99
  658. gestaltPerforma580                EQU        99
  659. gestaltPowerMac6100_66            EQU        100
  660. gestaltAWS6150_66                EQU        100
  661. gestaltPowerBookDuo280            EQU        102
  662. gestaltPowerBookDuo280c            EQU        103
  663. gestaltPowerMacLC475            EQU        104                    ; Mac LC 475 & PPC Processor Upgrade Card
  664. gestaltPowerMacPerforma47x        EQU        104
  665. gestaltPowerMacLC575            EQU        105                    ; Mac LC 575 & PPC Processor Upgrade Card 
  666. gestaltPowerMacPerforma57x        EQU        105
  667. gestaltPowerMacQuadra630        EQU        106                    ; Quadra 630 & PPC Processor Upgrade Card
  668. gestaltPowerMacLC630            EQU        106                    ; Mac LC 630 & PPC Processor Upgrade Card
  669. gestaltPowerMacPerforma63x        EQU        106                    ; Performa 63x & PPC Processor Upgrade Card
  670. gestaltPowerMac7200                EQU        108
  671. gestaltPowerMac7300                EQU        109
  672. gestaltPowerMac7100_66            EQU        112
  673. gestaltPowerBook150                EQU        115
  674. gestaltPowerMacQuadra700        EQU        116                    ; Quadra 700 & Power PC Upgrade Card
  675. gestaltPowerMacQuadra900        EQU        117                    ; Quadra 900 & Power PC Upgrade Card 
  676. gestaltPowerMacQuadra950        EQU        118                    ; Quadra 950 & Power PC Upgrade Card 
  677. gestaltPowerMacCentris610        EQU        119                    ; Centris 610 & Power PC Upgrade Card 
  678. gestaltPowerMacCentris650        EQU        120                    ; Centris 650 & Power PC Upgrade Card 
  679. gestaltPowerMacQuadra610        EQU        121                    ; Quadra 610 & Power PC Upgrade Card 
  680. gestaltPowerMacQuadra650        EQU        122                    ; Quadra 650 & Power PC Upgrade Card 
  681. gestaltPowerMacQuadra800        EQU        123                    ; Quadra 800 & Power PC Upgrade Card 
  682. gestaltPowerBookDuo2300            EQU        124
  683. gestaltPowerBook500PPCUpgrade    EQU        126
  684. gestaltPowerBook5300            EQU        128
  685. gestaltPowerBook1400            EQU        310
  686. gestaltPowerBook3400            EQU        306
  687. gestaltPowerBook2400            EQU        307
  688. gestaltPowerBookG3Series        EQU        312
  689. gestaltPowerBookG3                EQU        313
  690. gestaltPowerBookG3SeriesFSTN    EQU        314
  691. gestaltPowerMacG3                EQU        510
  692. gestaltPowerMac5500                EQU        512
  693. gestalt20thAnniversary            EQU        512
  694. gestaltPowerMac6500                EQU        513
  695. gestaltPowerMac4400_160            EQU        514                    ; slower machine has different machine ID
  696. gestaltPowerMac4400                EQU        515
  697.  
  698.  
  699. gestaltQuadra605                EQU        94
  700. gestaltQuadra610                EQU        53
  701. gestaltQuadra630                EQU        98
  702. gestaltQuadra650                EQU        36
  703. gestaltQuadra660AV                EQU        60
  704. gestaltQuadra700                EQU        22
  705. gestaltQuadra800                EQU        35
  706. gestaltQuadra840AV                EQU        78
  707. gestaltQuadra900                EQU        20
  708. gestaltQuadra950                EQU        26
  709.  
  710. kMachineNameStrID                EQU        -16395
  711.  
  712. gestaltSMPMailerVersion            EQU        'malr'                ; OCE StandardMail
  713.  
  714. gestaltMediaBay                    EQU        'mbeh'                ; media bay driver type 
  715. gestaltMBLegacy                    EQU        0                    ; media bay support in PCCard 2.0 
  716. gestaltMBSingleBay                EQU        1                    ; single bay media bay driver 
  717. gestaltMBMultipleBays            EQU        2                    ; multi-bay media bay driver 
  718.  
  719. gestaltMessageMgrVersion        EQU        'mess'                ; GX Printing Message Manager Gestalt Selector 
  720.  
  721. gestaltMachineIcon                EQU        'micn'                ; machine icon 
  722.  
  723. gestaltMiscAttr                    EQU        'misc'                ; miscellaneous attributes 
  724. gestaltScrollingThrottle        EQU        0                    ; true if scrolling throttle on 
  725. gestaltSquareMenuBar            EQU        2                    ; true if menu bar is square 
  726.  
  727. ;    The name gestaltMixedModeVersion for the 'mixd' selector is semantically incorrect.
  728. ;    The same selector has been renamed gestaltMixedModeAttr to properly reflect the
  729. ;    Inside Mac: PowerPC System Software documentation.  The gestaltMixedModeVersion
  730. ;    symbol has been preserved only for backwards compatibility.
  731. ;
  732. ;    Developers are forewarned that gestaltMixedModeVersion has a limited lifespan and
  733. ;    will be removed in a future release of the Interfaces.
  734. ;
  735. ;    For the first version of Mixed Mode, both meanings of the 'mixd' selector are
  736. ;    functionally identical.  They both return 0x00000001.  In subsequent versions
  737. ;    of Mixed Mode, however, the 'mixd' selector will not respond with an increasing
  738. ;    version number, but rather, with 32 attribute bits with various meanings.
  739. ;
  740.  
  741.  
  742. gestaltMixedModeVersion            EQU        'mixd'                ; returns version of Mixed Mode 
  743.  
  744. gestaltMixedModeAttr            EQU        'mixd'                ; returns Mixed Mode attributes 
  745. gestaltMixedModePowerPC            EQU        0                    ; true if Mixed Mode supports PowerPC ABI calling conventions 
  746. gestaltPowerPCAware                EQU        0                    ; old name for gestaltMixedModePowerPC 
  747. gestaltMixedModeCFM68K            EQU        1                    ; true if Mixed Mode supports CFM-68K calling conventions 
  748. gestaltMixedModeCFM68KHasTrap    EQU        2                    ; true if CFM-68K Mixed Mode implements _MixedModeDispatch (versions 1.0.1 and prior did not) 
  749. gestaltMixedModeCFM68KHasState    EQU        3                    ; true if CFM-68K Mixed Mode exports Save/RestoreMixedModeState 
  750.  
  751. gestaltQuickTimeConferencing    EQU        'mtlk'                ; returns QuickTime Conferencing version 
  752.  
  753. gestaltMemoryMapAttr            EQU        'mmap'                ; Memory map type 
  754. gestaltMemoryMapSparse            EQU        0                    ; Sparse memory is on 
  755.  
  756. gestaltMMUType                    EQU        'mmu '                ; mmu type 
  757. gestaltNoMMU                    EQU        0                    ; no MMU 
  758. gestaltAMU                        EQU        1                    ; address management unit 
  759. gestalt68851                    EQU        2                    ; 68851 PMMU 
  760. gestalt68030MMU                    EQU        3                    ; 68030 built-in MMU 
  761. gestalt68040MMU                    EQU        4                    ; 68040 built-in MMU 
  762. gestaltEMMU1                    EQU        5                    ; Emulated MMU type 1  
  763.  
  764. gestaltStdNBPAttr                EQU        'nlup'                ; standard nbp attributes 
  765. gestaltStdNBPPresent            EQU        0
  766. gestaltStdNBPSupportsAutoPosition EQU    1                    ; StandardNBP takes (-1,-1) to mean alert position main screen 
  767.  
  768. gestaltNotificationMgrAttr        EQU        'nmgr'                ; notification manager attributes 
  769. gestaltNotificationPresent        EQU        0                    ; notification manager exists 
  770.  
  771. gestaltNameRegistryVersion        EQU        'nreg'                ; NameRegistryLib version number, for System 7.5.2+ usage 
  772.  
  773. gestaltNuBusSlotCount            EQU        'nubs'                ; count of logical NuBus slots present 
  774.  
  775. gestaltOCEToolboxVersion        EQU        'ocet'                ; OCE Toolbox version 
  776. gestaltOCETB                    EQU        $0102                ; OCE Toolbox version 1.02 
  777. gestaltSFServer                    EQU        $0100                ; S&F Server version 1.0 
  778.  
  779. gestaltOCEToolboxAttr            EQU        'oceu'                ; OCE Toolbox attributes 
  780. gestaltOCETBPresent                EQU        $01                    ; OCE toolbox is present, not running 
  781. gestaltOCETBAvailable            EQU        $02                    ; OCE toolbox is running and available 
  782. gestaltOCESFServerAvailable        EQU        $04                    ; S&F Server is running and available 
  783. gestaltOCETBNativeGlueAvailable    EQU        $10                    ; Native PowerPC Glue routines are availible 
  784.  
  785. gestaltOpenFirmwareInfo            EQU        'opfw'                ; Open Firmware info 
  786.  
  787. gestaltOSAttr                    EQU        'os  '                ; o/s attributes 
  788. gestaltSysZoneGrowable            EQU        0                    ; system heap is growable 
  789. gestaltLaunchCanReturn            EQU        1                    ; can return from launch 
  790. gestaltLaunchFullFileSpec        EQU        2                    ; can launch from full file spec 
  791. gestaltLaunchControl            EQU        3                    ; launch control support available 
  792. gestaltTempMemSupport            EQU        4                    ; temp memory support 
  793. gestaltRealTempMemory            EQU        5                    ; temp memory handles are real 
  794. gestaltTempMemTracked            EQU        6                    ; temporary memory handles are tracked 
  795. gestaltIPCSupport                EQU        7                    ; IPC support is present 
  796. gestaltSysDebuggerSupport        EQU        8                    ; system debugger support is present 
  797.  
  798. gestaltOSTable                    EQU        'ostt'                ;  OS trap table base  
  799.  
  800. gestaltPCCard                    EQU        'pccd'                ;    PC Card attributes
  801. gestaltCardServicesPresent        EQU        0                    ;    PC Card 2.0 (68K) API is present
  802. gestaltPCCardFamilyPresent        EQU        1                    ;    PC Card 3.x (PowerPC) API is present
  803. gestaltPCCardHasPowerControl    EQU        2                    ;    PCCardSetPowerLevel is supported
  804. gestaltPCCardSupportsCardBus    EQU        3                    ;    CardBus is supported
  805.  
  806. gestaltProcClkSpeed                EQU        'pclk'                ; processor clock speed in hertz 
  807.  
  808. gestaltPCXAttr                    EQU        'pcxg'                ; PC Exchange attributes 
  809. gestaltPCXHas8and16BitFAT        EQU        0                    ; PC Exchange supports both 8 and 16 bit FATs 
  810. gestaltPCXHasProDOS                EQU        1                    ; PC Exchange supports ProDOS 
  811.  
  812. gestaltLogicalPageSize            EQU        'pgsz'                ; logical page size 
  813. ;     System 7.6 and later.  If gestaltScreenCaptureMain is not implemented,
  814. ;    PictWhap proceeds with screen capture in the usual way.
  815. ;
  816. ;    The high word of gestaltScreenCaptureMain is reserved (use 0).
  817. ;
  818. ;    To disable screen capture to disk, put zero in the low word.  To
  819. ;    specify a folder for captured pictures, put the vRefNum in the
  820. ;    low word of gestaltScreenCaptureMain, and put the directory ID in
  821. ;    gestaltScreenCaptureDir.
  822. ;
  823.  
  824.  
  825. gestaltScreenCaptureMain        EQU        'pic1'                ; Zero, or vRefNum of disk to hold picture 
  826. gestaltScreenCaptureDir            EQU        'pic2'                ; Directory ID of folder to hold picture 
  827.  
  828. gestaltGXPrintingMgrVersion        EQU        'pmgr'                ; QuickDraw GX Printing Manager Version
  829.  
  830. gestaltPopupAttr                EQU        'pop!'                ; popup cdef attributes 
  831. gestaltPopupPresent                EQU        0
  832.  
  833. gestaltPowerMgrAttr                EQU        'powr'                ; power manager attributes 
  834. gestaltPMgrExists                EQU        0
  835. gestaltPMgrCPUIdle                EQU        1
  836. gestaltPMgrSCC                    EQU        2
  837. gestaltPMgrSound                EQU        3
  838. gestaltPMgrDispatchExists        EQU        4
  839. gestaltPMgrSupportsAVPowerStateAtSleepWake EQU 5
  840. ; * PPC will return the combination of following bit fields.
  841. ; * e.g. gestaltPPCSupportsRealTime +gestaltPPCSupportsIncoming + gestaltPPCSupportsOutGoing
  842. ; * indicates PPC is cuurently is only supports real time delivery
  843. ; * and both incoming and outgoing network sessions are allowed.
  844. ; * By default local real time delivery is supported as long as PPCInit has been called.
  845.  
  846.  
  847. gestaltPPCToolboxAttr            EQU        'ppc '                ; PPC toolbox attributes 
  848. gestaltPPCToolboxPresent        EQU        $0000                ; PPC Toolbox is present  Requires PPCInit to be called 
  849. gestaltPPCSupportsRealTime        EQU        $1000                ; PPC Supports real-time delivery 
  850. gestaltPPCSupportsIncoming        EQU        $0001                ; PPC will deny incoming network requests 
  851. gestaltPPCSupportsOutGoing        EQU        $0002                ; PPC will deny outgoing network requests 
  852.  
  853. gestaltPowerPCProcessorFeatures    EQU        'ppcf'                ; Optional PowerPC processor features 
  854. gestaltPowerPCHasGraphicsInstructions EQU 0                    ; has fres, frsqrte, and fsel instructions 
  855. gestaltPowerPCHasSTFIWXInstruction EQU    1                    ; has stfiwx instruction 
  856. gestaltPowerPCHasSquareRootInstructions EQU 2                ; has fsqrt and fsqrts instructions 
  857. gestaltPowerPCHasDCBAInstruction EQU    3                    ; has dcba instruction 
  858. gestaltPowerPCHasVectorInstructions EQU    4                    ; has vector instructions 
  859. gestaltPowerPCHasDataStreams    EQU        5                    ; has dst, dstt, dstst, dss, and dssall instructions 
  860.  
  861. gestaltProcessorType            EQU        'proc'                ; processor type 
  862. gestalt68000                    EQU        1
  863. gestalt68010                    EQU        2
  864. gestalt68020                    EQU        3
  865. gestalt68030                    EQU        4
  866. gestalt68040                    EQU        5
  867.  
  868. gestaltSDPPromptVersion            EQU        'prpv'                ; OCE Standard Directory Panel
  869.  
  870. gestaltParityAttr                EQU        'prty'                ; parity attributes 
  871. gestaltHasParityCapability        EQU        0                    ; has ability to check parity 
  872. gestaltParityEnabled            EQU        1                    ; parity checking enabled 
  873.  
  874. gestaltQD3DVersion                EQU        'q3v '                ; Quickdraw 3D version in pack BCD
  875.  
  876. gestaltQD3DViewer                EQU        'q3vc'                ; Quickdraw 3D viewer attributes
  877. gestaltQD3DViewerPresent        EQU        0                    ; bit 0 set if QD3D Viewer is available
  878.     IF OLDROUTINENAMES THEN
  879.  
  880. gestaltQD3DViewerNotPresent        EQU        $00
  881. gestaltQD3DViewerAvailable        EQU        $01
  882.     ENDIF    ; OLDROUTINENAMES
  883.  
  884. gestaltQuickdrawVersion            EQU        'qd  '                ; quickdraw version 
  885. gestaltOriginalQD                EQU        $0000                ; original 1-bit QD 
  886. gestalt8BitQD                    EQU        $0100                ; 8-bit color QD 
  887. gestalt32BitQD                    EQU        $0200                ; 32-bit color QD 
  888. gestalt32BitQD11                EQU        $0201                ; 32-bit color QDv1.1 
  889. gestalt32BitQD12                EQU        $0220                ; 32-bit color QDv1.2 
  890. gestalt32BitQD13                EQU        $0230                ; 32-bit color QDv1.3 
  891. gestaltAllegroQD                EQU        $0250                ; Allegro QD OS 8.5 
  892.  
  893. gestaltQD3D                        EQU        'qd3d'                ; Quickdraw 3D attributes
  894. gestaltQD3DPresent                EQU        0                    ; bit 0 set if QD3D available
  895.     IF OLDROUTINENAMES THEN
  896.  
  897. gestaltQD3DNotPresent            EQU        $00
  898. gestaltQD3DAvailable            EQU        $01
  899.     ENDIF    ; OLDROUTINENAMES
  900.  
  901. gestaltGXVersion                EQU        'qdgx'                ; Overall QuickDraw GX Version
  902.  
  903. gestaltQuickdrawFeatures        EQU        'qdrw'                ; quickdraw features 
  904. gestaltHasColor                    EQU        0                    ; color quickdraw present 
  905. gestaltHasDeepGWorlds            EQU        1                    ; GWorlds can be deeper than 1-bit 
  906. gestaltHasDirectPixMaps            EQU        2                    ; PixMaps can be direct (16 or 32 bit) 
  907. gestaltHasGrayishTextOr            EQU        3                    ; supports text mode grayishTextOr 
  908. gestaltSupportsMirroring        EQU        4                    ; Supports video mirroring via the Display Manager. 
  909. gestaltQDHasLongRowBytes        EQU        5                    ; Long rowBytes supported in GWorlds 
  910.  
  911. gestaltQDTextVersion            EQU        'qdtx'                ; QuickdrawText version 
  912. gestaltOriginalQDText            EQU        $0000                ; up to and including 8.1 
  913. gestaltAllegroQDText            EQU        $0100                ; starting with 8.2 (?) 
  914.  
  915. gestaltQDTextFeatures            EQU        'qdtf'                ; QuickdrawText features 
  916. gestaltWSIISupportBit            EQU        0                    ; bit 0: WSII support included 
  917. gestaltSbitFontsBit                EQU        1                    ; sbit-only fonts supported 
  918. gestaltAntiAliasBit                EQU        2                    ; capably of antialiased text 
  919. gestaltOFA2availableBit            EQU        3                    ; OFA2 available 
  920.  
  921.  
  922. gestaltQuickTimeConferencingInfo EQU    'qtci'                ; returns pointer to QuickTime Conferencing information 
  923.  
  924. gestaltQuickTimeVersion            EQU        'qtim'                ; returns version of QuickTime 
  925. gestaltQuickTime                EQU        'qtim'                ; gestaltQuickTime is old name for gestaltQuickTimeVersion 
  926.  
  927. gestaltQuickTimeFeatures        EQU        'qtrs'
  928. gestaltPPCQuickTimeLibPresent    EQU        0                    ; PowerPC QuickTime glue library is present 
  929.  
  930. gestaltQTVRMgrAttr                EQU        'qtvr'                ; QuickTime VR attributes                               
  931. gestaltQTVRMgrPresent            EQU        0                    ; QTVR API is present                                   
  932. gestaltQTVRObjMoviesPresent        EQU        1                    ; QTVR runtime knows about object movies                
  933. gestaltQTVRCylinderPanosPresent    EQU        2                    ; QTVR runtime knows about cylindrical panoramic movies 
  934.  
  935. gestaltQTVRMgrVers                EQU        'qtvv'                ; QuickTime VR version                                  
  936.  
  937. gestaltPhysicalRAMSize            EQU        'ram '                ; physical RAM size 
  938.  
  939. gestaltRBVAddr                    EQU        'rbv '                ; RBV base address  
  940.  
  941. gestaltROMSize                    EQU        'rom '                ; rom size 
  942.  
  943. gestaltROMVersion                EQU        'romv'                ; rom version 
  944.  
  945. gestaltResourceMgrAttr            EQU        'rsrc'                ; Resource Mgr attributes 
  946. gestaltPartialRsrcs                EQU        0                    ; True if partial resources exist 
  947.  
  948. gestaltRealtimeMgrAttr            EQU        'rtmr'                ; Realtime manager attributes            
  949. gestaltRealtimeMgrPresent        EQU        0                    ; true if the Realtime manager is present     
  950.  
  951. gestaltSCCReadAddr                EQU        'sccr'                ; scc read base address  
  952.  
  953. gestaltSCCWriteAddr                EQU        'sccw'                ; scc read base address  
  954.  
  955. gestaltScrapMgrAttr                EQU        'scra'                ; Scrap Manager attributes 
  956. gestaltScrapMgrTranslationAware    EQU        0                    ; True if scrap manager is translation aware 
  957.  
  958. gestaltScriptMgrVersion            EQU        'scri'                ; Script Manager version number     
  959.  
  960. gestaltScriptCount                EQU        'scr#'                ; number of active script systems   
  961.  
  962. gestaltSCSI                        EQU        'scsi'                ; SCSI Manager attributes 
  963. gestaltAsyncSCSI                EQU        0                    ; Supports Asynchronous SCSI 
  964. gestaltAsyncSCSIINROM            EQU        1                    ; Async scsi is in ROM (available for booting) 
  965. gestaltSCSISlotBoot                EQU        2                    ; ROM supports Slot-style PRAM for SCSI boots (PDM and later) 
  966. gestaltSCSIPollSIH                EQU        3                    ; SCSI Manager will poll for interrupts if Secondary Interrupts are busy. 
  967.  
  968. gestaltControlStripAttr            EQU        'sdev'                ; Control Strip attributes 
  969. gestaltControlStripExists        EQU        0                    ; Control Strip is installed 
  970. gestaltControlStripVersionFixed    EQU        1                    ; Control Strip version Gestalt selector was fixed 
  971. gestaltControlStripUserFont        EQU        2                    ; supports user-selectable font/size 
  972. gestaltControlStripUserHotKey    EQU        3                    ; support user-selectable hot key to show/hide the window 
  973.  
  974. gestaltSDPStandardDirectoryVersion EQU    'sdvr'                ; OCE Standard Directory Panel
  975.  
  976. gestaltSerialAttr                EQU        'ser '                ; Serial attributes 
  977. gestaltHasGPIaToDCDa            EQU        0                    ; GPIa connected to DCDa
  978. gestaltHasGPIaToRTxCa            EQU        1                    ; GPIa connected to RTxCa clock input
  979. gestaltHasGPIbToDCDb            EQU        2                    ; GPIb connected to DCDb 
  980. gestaltHidePortA                EQU        3                    ; Modem port (A) should be hidden from users 
  981. gestaltHidePortB                EQU        4                    ; Printer port (B) should be hidden from users 
  982.  
  983. gestaltShutdownAttributes        EQU        'shut'                ; ShutDown Manager Attributes 
  984. gestaltShutdownHassdOnBootVolUnmount EQU 0                    ; True if ShutDown Manager unmounts boot & VM volume at shutdown time. 
  985.  
  986. gestaltNuBusConnectors            EQU        'sltc'                ; bitmap of NuBus connectors
  987.  
  988. gestaltSlotAttr                    EQU        'slot'                ; slot attributes  
  989. gestaltSlotMgrExists            EQU        0                    ; true is slot mgr exists  
  990. gestaltNuBusPresent                EQU        1                    ; NuBus slots are present  
  991. gestaltSESlotPresent            EQU        2                    ; SE PDS slot present  
  992. gestaltSE30SlotPresent            EQU        3                    ; SE/30 slot present  
  993. gestaltPortableSlotPresent        EQU        4                    ; Portable’s slot present  
  994.  
  995. gestaltFirstSlotNumber            EQU        'slt1'                ; returns first physical slot 
  996.  
  997. gestaltSoundAttr                EQU        'snd '                ; sound attributes 
  998. gestaltStereoCapability            EQU        0                    ; sound hardware has stereo capability 
  999. gestaltStereoMixing                EQU        1                    ; stereo mixing on external speaker 
  1000. gestaltSoundIOMgrPresent        EQU        3                    ; The Sound I/O Manager is present 
  1001. gestaltBuiltInSoundInput        EQU        4                    ; built-in Sound Input hardware is present 
  1002. gestaltHasSoundInputDevice        EQU        5                    ; Sound Input device available 
  1003. gestaltPlayAndRecord            EQU        6                    ; built-in hardware can play and record simultaneously 
  1004. gestalt16BitSoundIO                EQU        7                    ; sound hardware can play and record 16-bit samples 
  1005. gestaltStereoInput                EQU        8                    ; sound hardware can record stereo 
  1006. gestaltLineLevelInput            EQU        9                    ; sound input port requires line level 
  1007.                                                             ; the following bits are not defined prior to Sound Mgr 3.0 
  1008. gestaltSndPlayDoubleBuffer        EQU        10                    ; SndPlayDoubleBuffer available, set by Sound Mgr 3.0 and later 
  1009. gestaltMultiChannels            EQU        11                    ; multiple channel support, set by Sound Mgr 3.0 and later 
  1010. gestalt16BitAudioSupport        EQU        12                    ; 16 bit audio data supported, set by Sound Mgr 3.0 and later 
  1011.  
  1012. gestaltSplitOSAttr                EQU        'spos'
  1013. gestaltSplitOSBootDriveIsNetworkVolume EQU 0                ; the boot disk is a network 'disk', from the .LANDisk drive. 
  1014. gestaltSplitOSAware                EQU        1                    ; the system includes the code to deal with a split os situation. 
  1015. gestaltSplitOSEnablerVolumeIsDifferentFromBootVolume EQU 2    ; the active enabler is on a different volume than the system file. 
  1016. gestaltSplitOSMachineNameSetToNetworkNameTemp EQU 3            ; The machine name was set to the value given us from the BootP server 
  1017.  
  1018. gestaltSMPSPSendLetterVersion    EQU        'spsl'                ; OCE StandardMail
  1019.  
  1020. gestaltSpeechRecognitionAttr    EQU        'srta'                ; speech recognition attributes 
  1021. gestaltDesktopSpeechRecognition    EQU        1                    ; recognition thru the desktop microphone is available 
  1022. gestaltTelephoneSpeechRecognition EQU    2                    ; recognition thru the telephone is available 
  1023.  
  1024. gestaltSpeechRecognitionVersion    EQU        'srtb'                ; speech recognition version (0x0150 is the first version that fully supports the API) 
  1025.  
  1026. gestaltSoftwareVendorCode        EQU        'srad'                ; Returns system software vendor information 
  1027. gestaltSoftwareVendorApple        EQU        'Appl'                ; System software sold by Apple 
  1028. gestaltSoftwareVendorLicensee    EQU        'Lcns'                ; System software sold by licensee 
  1029.  
  1030. gestaltStandardFileAttr            EQU        'stdf'                ; Standard File attributes 
  1031. gestaltStandardFile58            EQU        0                    ; True if selectors 5-8 (StandardPutFile-CustomGetFile) are supported 
  1032. gestaltStandardFileTranslationAware EQU    1                    ; True if standard file is translation manager aware 
  1033. gestaltStandardFileHasColorIcons EQU    2                    ; True if standard file has 16x16 color icons 
  1034. gestaltStandardFileUseGenericIcons EQU    3                    ; Standard file LDEF to use only the system generic icons if true 
  1035. gestaltStandardFileHasDynamicVolumeAllocation EQU 4            ; True if standard file supports more than 20 volumes 
  1036.  
  1037. gestaltSysArchitecture            EQU        'sysa'                ; Native System Architecture 
  1038. gestalt68k                        EQU        1                    ; Motorola MC68k architecture 
  1039. gestaltPowerPC                    EQU        2                    ; IBM PowerPC architecture 
  1040.  
  1041. gestaltSystemUpdateVersion        EQU        'sysu'                ; System Update version 
  1042.  
  1043. gestaltSystemVersion            EQU        'sysv'                ; system version
  1044.  
  1045. gestaltToolboxTable                EQU        'tbtt'                ;  OS trap table base  
  1046.  
  1047. gestaltTextEditVersion            EQU        'te  '                ; TextEdit version number 
  1048. gestaltTE1                        EQU        1                    ; TextEdit in MacIIci ROM 
  1049. gestaltTE2                        EQU        2                    ; TextEdit with 6.0.4 Script Systems on MacIIci (Script bug fixes for MacIIci) 
  1050. gestaltTE3                        EQU        3                    ; TextEdit with 6.0.4 Script Systems all but MacIIci 
  1051. gestaltTE4                        EQU        4                    ; TextEdit in System 7.0 
  1052. gestaltTE5                        EQU        5                    ; TextWidthHook available in TextEdit 
  1053.  
  1054. gestaltTEAttr                    EQU        'teat'                ; TextEdit attributes 
  1055. gestaltTEHasGetHiliteRgn        EQU        0                    ; TextEdit has TEGetHiliteRgn 
  1056. gestaltTESupportsInlineInput    EQU        1                    ; TextEdit does Inline Input 
  1057. gestaltTESupportsTextObjects    EQU        2                    ; TextEdit does Text Objects 
  1058. gestaltTEHasWhiteBackground        EQU        3                    ; TextEdit supports overriding the TERec's background to white 
  1059.  
  1060. gestaltTeleMgrAttr                EQU        'tele'                ; Telephone manager attributes 
  1061. gestaltTeleMgrPresent            EQU        0
  1062. gestaltTeleMgrPowerPCSupport    EQU        1
  1063. gestaltTeleMgrSoundStreams        EQU        2
  1064. gestaltTeleMgrAutoAnswer        EQU        3
  1065. gestaltTeleMgrIndHandset        EQU        4
  1066. gestaltTeleMgrSilenceDetect        EQU        5
  1067. gestaltTeleMgrNewTELNewSupport    EQU        6
  1068.  
  1069. gestaltTermMgrAttr                EQU        'term'                ; terminal mgr attributes 
  1070. gestaltTermMgrPresent            EQU        0
  1071. gestaltTermMgrErrorString        EQU        2
  1072.  
  1073. gestaltThreadMgrAttr            EQU        'thds'                ; Thread Manager attributes 
  1074. gestaltThreadMgrPresent            EQU        0                    ; bit true if Thread Mgr is present 
  1075. gestaltSpecificMatchSupport        EQU        1                    ; bit true if Thread Mgr supports exact match creation option 
  1076. gestaltThreadsLibraryPresent    EQU        2                    ; bit true if Thread Mgr shared library is present 
  1077.  
  1078. gestaltTimeMgrVersion            EQU        'tmgr'                ; time mgr version 
  1079. gestaltStandardTimeMgr            EQU        1                    ; standard time mgr is present 
  1080. gestaltRevisedTimeMgr            EQU        2                    ; revised time mgr is present 
  1081. gestaltExtendedTimeMgr            EQU        3                    ; extended time mgr is present 
  1082.  
  1083. gestaltTSMTEVersion                EQU        'tmTV'
  1084. gestaltTSMTE1                    EQU        $0100                ; Original version of TSMTE 
  1085. gestaltTSMTE15                    EQU        $0150                ; System 8.0 
  1086. gestaltTSMTE152                    EQU        $0152                ; System 8.2 
  1087.  
  1088. gestaltTSMTEAttr                EQU        'tmTE'
  1089. gestaltTSMTEPresent                EQU        0
  1090. gestaltTSMTE                    EQU        0                    ; gestaltTSMTE is old name for gestaltTSMTEPresent 
  1091.  
  1092. gestaltALMAttr                    EQU        'trip'                ; Settings Manager attributes (see also gestaltALMVers) 
  1093. gestaltALMPresent                EQU        0                    ; bit true if ALM is available 
  1094. gestaltALMHasSFGroup            EQU        1                    ; bit true if Put/Get/Merge Group calls are implmented 
  1095. gestaltALMHasCFMSupport            EQU        2                    ; bit true if CFM-based modules are supported 
  1096. gestaltALMHasRescanNotifiers    EQU        3                    ; bit true if Rescan notifications/events will be sent to clients 
  1097.  
  1098. gestaltALMHasSFLocation            EQU        1
  1099.  
  1100. gestaltTSMgrVersion                EQU        'tsmv'                ; Text Services Mgr version, if present 
  1101. gestaltTSMgr15                    EQU        $0150
  1102.  
  1103. gestaltTSMgrAttr                EQU        'tsma'                ; Text Services Mgr attributes, if present 
  1104. gestaltTSMDisplayMgrAwareBit    EQU        0                    ; TSM knows about display manager 
  1105. gestaltTSMdoesTSMTEBit            EQU        1                    ; TSM has integrated TSMTE 
  1106.  
  1107. gestaltSpeechAttr                EQU        'ttsc'                ; Speech Manager attributes 
  1108. gestaltSpeechMgrPresent            EQU        0                    ; bit set indicates that Speech Manager exists 
  1109. gestaltSpeechHasPPCGlue            EQU        1                    ; bit set indicates that native PPC glue for Speech Manager API exists 
  1110.  
  1111. gestaltTVAttr                    EQU        'tv  '                ; TV version 
  1112. gestaltHasTVTuner                EQU        0                    ; supports Philips FL1236F video tuner 
  1113. gestaltHasSoundFader            EQU        1                    ; supports Philips TEA6330 Sound Fader chip 
  1114. gestaltHasHWClosedCaptioning    EQU        2                    ; supports Philips SAA5252 Closed Captioning 
  1115. gestaltHasIRRemote                EQU        3                    ; supports CyclopsII Infra Red Remote control 
  1116. gestaltHasVidDecoderScaler        EQU        4                    ; supports Philips SAA7194 Video Decoder/Scaler 
  1117. gestaltHasStereoDecoder            EQU        5                    ; supports Sony SBX1637A-01 stereo decoder 
  1118. gestaltHasSerialFader            EQU        6                    ; has fader audio in serial with system audio 
  1119. gestaltHasFMTuner                EQU        7                    ; has FM Tuner from donnybrook card 
  1120. gestaltHasSystemIRFunction        EQU        8                    ; Infra Red button function is set up by system and not by Video Startup 
  1121. gestaltIRDisabled                EQU        9                    ; Infra Red remote is not disabled. 
  1122. gestaltINeedIRPowerOffConfirm    EQU        10                    ; Need IR power off confirm dialog. 
  1123. gestaltHasZoomedVideo            EQU        11                    ; Has Zoomed Video PC Card video input. 
  1124.  
  1125. gestaltUSBAttr                    EQU        'usb '                ; USB Attributes 
  1126. gestaltUSBPresent                EQU        0                    ; USB Support available 
  1127. gestaltUSBHasIsoch                EQU        1                    ; USB Isochronous features available 
  1128.  
  1129. gestaltUSBVersion                EQU        'usbv'                ; USB version 
  1130.  
  1131. gestaltVersion                    EQU        'vers'                ; gestalt version 
  1132. gestaltValueImplementedVers        EQU        5                    ; version of gestalt where gestaltValue is implemented. 
  1133.  
  1134. gestaltVIA1Addr                    EQU        'via1'                ; via 1 base address  
  1135.  
  1136. gestaltVIA2Addr                    EQU        'via2'                ; via 2 base address  
  1137.  
  1138. gestaltVMAttr                    EQU        'vm  '                ; virtual memory attributes 
  1139. gestaltVMPresent                EQU        0                    ; true if virtual memory is present 
  1140. gestaltVMHasLockMemoryForOutput    EQU        1                    ; true if LockMemoryForOutput is available 
  1141. gestaltVMFilemappingOn            EQU        3                    ; true if filemapping is available 
  1142. gestaltVMHasPagingControl        EQU        4                    ; true if MakeMemoryResident, MakeMemoryNonResident, FlushMemory, and ReleaseMemoryData are available 
  1143.  
  1144. gestaltVMInfoType                EQU        'vmin'                ; Indicates how the Finder should display information about VM in 
  1145.                                                             ; the Finder about box. 
  1146. gestaltVMInfoSizeStorageType    EQU        0                    ; Display VM on/off, backing store size and name 
  1147. gestaltVMInfoSizeType            EQU        1                    ; Display whether VM is on or off and the size of the backing store 
  1148. gestaltVMInfoSimpleType            EQU        2                    ; Display whether VM is on or off 
  1149. gestaltVMInfoNoneType            EQU        3                    ; Display no VM information 
  1150.  
  1151. gestaltVMBackingStoreFileRefNum    EQU        'vmbs'                ; file refNum of virtual memory's main backing store file (returned in low word of result) 
  1152.  
  1153.  
  1154.  
  1155. gestaltALMVers                    EQU        'walk'                ; Settings Manager version (see also gestaltALMAttr) 
  1156.  
  1157. gestaltTranslationAttr            EQU        'xlat'                ; Translation Manager attributes 
  1158. gestaltTranslationMgrExists        EQU        0                    ; True if translation manager exists 
  1159. gestaltTranslationMgrHintOrder    EQU        1                    ; True if hint order reversal in effect 
  1160. gestaltTranslationPPCAvail        EQU        2
  1161. gestaltTranslationGetPathAPIAvail EQU    3
  1162.  
  1163. gestaltExtToolboxTable            EQU        'xttt'                ; Extended Toolbox trap table base 
  1164.  
  1165. ; WorldScript settings;
  1166.  
  1167. gestaltWorldScriptIIVersion        EQU        'doub'
  1168. gestaltWorldScriptIIAttr        EQU        'wsat'
  1169. gestaltWSIICanPrintWithoutPrGeneralBit EQU 0                ; bit 0 is on if WS II knows about PrinterStatus callback 
  1170.  
  1171.  
  1172.  
  1173.     ENDIF ; __GESTALT__ 
  1174.  
  1175.